import request from '@/utils/request'

// 查询团队列表
export function listTeam(query) {
  return request({
    url: '/commgr/team/list',
    method: 'get',
    params: query
  })
}

// 查询团队详细
export function getTeam(teamId) {
  return request({
    url: '/commgr/team/' + teamId,
    method: 'get'
  })
}

// 新增团队
export function addTeam(data) {
  return request({
    url: '/commgr/team',
    method: 'post',
    data: data
  })
}

// 修改团队
export function updateTeam(data) {
  return request({
    url: '/commgr/team',
    method: 'put',
    data: data
  })
}

// 删除团队
export function delTeam(teamId) {
  return request({
    url: '/commgr/team/' + teamId,
    method: 'delete'
  })
}

// 导出团队
export function exportTeam(query) {
  return request({
    url: '/commgr/team/export',
    method: 'get',
    params: query
  })
}

// 获取团队成员列表
export function getTeamMembers(teamId) {
  return request({
    url: '/commgr/team/' + teamId + '/members',
    method: 'get'
  })
}

// 添加团队成员
export function addTeamMember(data) {
  return request({
    url: '/commgr/team/members',
    method: 'post',
    data: data
  })
}

// 修改团队成员信息（奖金、类型等）
export function updateTeamMember(data) {
  return request({
    url: '/commgr/team/members',
    method: 'put',
    data: data
  })
}

// 删除团队成员
export function deleteTeamMember(membersId) {
  return request({
    url: '/commgr/team/members/' + membersId,
    method: 'delete'
  })
}

// ============== 奖金分配相关API ==============

// 获取团队可分配奖金信息
export function getDistributableBonusInfo(teamId) {
  return request({
    url: '/commgr/team/distributableBonusInfo/' + teamId,
    method: 'get'
  })
}

// 执行自动奖金分配（根据规则自动计算）
export function distributeBonus(teamId) {
  return request({
    url: '/commgr/team/distributeBonus/' + teamId,
    method: 'post'
  })
}

// 执行手动奖金分配（自定义金额）
export function manualDistributeBonus(teamId, data) {
  return request({
    url: '/commgr/team/manualDistributeBonus/' + teamId,
    method: 'post',
    data: data
  })
}

// 查询分配后的奖金结果
export function getDistributionResult(teamId) {
  return request({
    url: '/commgr/team/distributionResult/' + teamId,
    method: 'get'
  })
}

// 检查团队是否有获奖记录
export function checkTeamHasAward(teamId) {
  return request({
    url: '/commgr/team/checkAward/' + teamId,
    method: 'get'
  })
}

// 获取可用用户列表
export function getAvailableUsers() {
  return request({
    url: '/commgr/team/availableUsers',
    method: 'get'
  })
}

// 调试接口：获取用户团队详细信息
export function debugTeamsDetail() {
  return request({
    url: '/commgr/team/debugTeamsDetail',
    method: 'get'
  })
}

// 检查所有团队信息
export function checkAllTeams() {
  return request({
    url: '/commgr/team/checkAllTeams',
    method: 'get'
  })
}

export function getTeamBonusInfo(teamId) {
  return request({
    url: '/commgr/team/bonusInfo/' + teamId,
    method: 'get'
  })
}

// 在 team.js API 文件中添加
// 重置团队奖金
export function resetTeamBonus(teamId) {
  return request({
    url: '/commgr/team/resetBonus/' + teamId,
    method: 'post'
  })
}

// 重置成员奖金
export function resetMemberBonus(membersId) {
  return request({
    url: '/commgr/team/resetMemberBonus/' + membersId,
    method: 'post'
  })
}

// 检查团队管理权限
export function checkTeamPermission(teamId) {
  return request({
    url: '/commgr/team/checkPermission/' + teamId,
    method: 'get'
  })
}
